#ts5.4
txt = '''丹伯多已经说服哈利不要再去找魔法之镜了，在剩下的圣诞节假期里，哈利一直都把那件隐形的披风藏在大衣箱的底部。
哈利真希望能够忘记他在镜中所见到的一切，但他却不能够。
他开始做恶梦，他一次又一次地梦见了他的爸妈消失在一道绿色的闪光中，而高空传来哈哈大笑的声音。
"你现在明白了吧，丹伯多是对的，那块镜子能够使你发疯。"当哈利对罗恩诉说他的恶梦的时候，罗恩就这样说。
荷米恩在假期结束的前一天回来了，她对事情总有着不同的看法，她对哈利连续三夜不在床上睡觉，而在学校里闲逛的事感到恐怖（如果他被费驰捉到的话）；而对哈利竟连尼可拉斯。
弗兰马尔是谁都搞不清楚而大失所望。
'''    #原始文本
linewidth = 30    #定义最长行宽

def lineSplit(line):    #定义分割原始文本的函数
    plist = ['，','！','？','。',',','!','?','.']    #分割标准为中英文标点符号
    for p in plist:    #分割条件的范围在plist中
        line = line.replace(p,'\n')    #把文本中的标点都替换为换行
    return line.split('\n')    #按照换行符分割，返回分行的list

def linePrint(line):    #定义输出分割后的字符的方式
    global linewidth      #把行宽作为全局变量使用，注意并非一开始就在程序中声明其全局性
    while len(line) > linewidth:    #如果拆分后的分行让然太长
        print(line[0:linewidth])    #那么就把分行拆成两段输出
        line = line[linewidth:]
        #输出（剩下）那行，居中在行宽为30的行中，用空格填充
    print(line.center(linewidth,chr(12288)))    #12288是一个与中文等宽的空格

newlines = lineSplit(txt)
for newline in newlines:
    linePrint(newline)
